Known 64-bit processors can execute 64-bit applications having 64-bit data types and 64-bit addressing. 32-bit applications typically have 32-bit data types and 32-bit addressing. Porting a 32-bit application into a 64-bit application can result in errors when dealing with 32-bit numbers in a 64-bit environment. Incorrect content (e.g., a carry value) can be introduced into the high order 32 bits of a 64-bit data item when 32-bit data is moved within general purpose registers. In view of the foregoing, it can be appreciated that a substantial need exists for methods and apparatus which can advantageously support execution of 32-bit applications on a 64-bit microprocessor.